\section{充满高维空间的Peano 曲线}

\begin{introduction}
    这一节给出了一个有趣的构造，说明我们可以用一条曲线充满一个二维空间——
    具体的讲，是要构造一个从$[0,1]$打到一个二维空间（在本节给出的例子中，是一个正三角形）的连续满射。

    这说明，若要定义一个空间的维数，用“确定这个空间中的一点所需要的最少连续参数”来定义是不妥当的，若如此，则Peano曲线将说明正三角形是一维的。
    （当然，用同样的方法可以将结论推广到二维空间内的任意有限子集。）
\end{introduction}

我们的任务是这样的：我们希望构造一个从$[0,1]$打到一个边长为$1/2$的正三角形（不妨记为$\triangle$，三个顶点分别为$A$、$B$、$C$，重心为$G$）的连续满射。

我们的大致思路是这样的：我们要找到一致收敛的一列映射，顺着这个映射列往前走，我们就更多地填充了这个三角形。

接下来我们给出具体的构造。（请对照下图）第一个映射$f_1$是折线$A \map G\map B$。在接下来，我们把三角形三个边的三个中点两两相连，这将原先的三角形切成了全等的四个边长为$1/4$的三角形。
对这四个三角形，我们做和$f_1$中相同的操作，只是调整一下方向，保证四条曲线首尾相连，且依然是从$A$开始，到$B$结束，这条曲线为$f_2$。

\begin{figure}[H]
    \centering
    \includegraphics[width=0.5\textwidth]{imgs/2.3.1.png}    
    \caption*{图片来自于\textit{Basic Topology}, Mark Armstrong}
\end{figure}

接下来，我们重复前面的“划分三角形”→“连曲线”的操作，得到$f_3,f_4,\cdots,f_n$。

从直观上，我们可以猜想，这个映射列$\{f_n\}$应该是一致收敛的，而且极限映射应当是连续的，并且映满整个$\triangle$。我们接下来就证明这件事情。

对于任意的$t \in [0,1]$，对于任意的$\varepsilon >0$，总存在$N > 0$，使得$(1/2)^m \le \varepsilon$，那么对于任何的$n>m\ge N$，
我们总保证$f_m(t)$和$f_n(t)$在同一个边长小于$(1/2)^N$，进而小于$\varepsilon$的三角形中，进而我们可以说
$$
|f_m(t) - f_n(t)| < \frac{1}{2^N} \le \varepsilon
$$
根据Cauchy收敛原理，$\{f_n\}$一致收敛，记极限映射为$f$。可以看出来任意的$f_n$连续，进而可以知道$f$连续。（这里有细节没有补充，参见下一节。）

最后，我们只需要说明$f$是满射就可以了。实际上，$\triangle$中的每一点都是$f$的像的极限点。任取$x \in \triangle$，对于任何的包含$x$的开集$U$，都存在一个足够大的$N$，使得
$$
B(x,\frac{1}{2^{N-1}}) \subseteq U
$$
很容易知道，$f_n$像中的点到$\triangle$中的任意一点的距离的最小值不会超过$(1/2)^n$。那么，我们就知道，总存在一个$t_0 \in [0,1]$，使得
$$
|f_N(t_0)-x| \le \frac{1}{2^N}
$$
同时，肯定有
$$
|f_N(t_0)-f(t_0)| \le \frac{1}{2^N}
$$
根据三角不等式，可以知道
$$
|f(t_0)-x| \le \frac{1}{2^{N-1}} \tc f(t_0) \in B(x,\frac{1}{2^{N-1}}) \subseteq U
$$
也就是说$f$的像和$U$总是有交点，所以$\triangle$中的每一个点都是$f([0,1])$的极限点。

同时，$f([0,1])$是一个闭集（$[0,1]$是紧的，紧集的连续象仍然是紧集，欧式空间上的有界紧集总是闭集，参见第三章），闭集包含它所有的极限点，所以$f$是满射。

至此，我们完成了任务：找到了连续映射$f$，它从$[0,1]$映满$\triangle$。这是一条充满空间的曲线。

当然，上述的例子是Peano曲线在三角形上的例子，我们可以把三角形替换成正方形等其他图形，做到类似的构造。